package per.hnvcam.genetic.algorithm;

import java.util.List;

import per.hnvcam.common.OrderedSet;

/**
 * Created by IntelliJ IDEA.
 * User: Vi Cam
 * Date: 25/12/2011
 * Time: 21:07
 * To change this template use File | Settings | File Templates.
 */
public interface GeneticOperations {
   Chromosome [] applyCrossover(Chromosome a, Chromosome b);
   Chromosome [] applySelection(List<Chromosome> population);
   Chromosome applyMutation(Chromosome a, int position, Long newGene);
   Chromosome [] applyReplacement(Chromosome [] parents, Chromosome [] children);
   OrderedSet<Chromosome> sortPopulationByFitness(List<Chromosome> population);
}
